home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 001-100 / 001-025 / 018 / xlisp1.6 / hanoi.lsp < prev    next >
Lisp/Scheme  |  1995-03-17  |  448b  |  25 lines

  1. ; Good ol towers of hanoi
  2. ;
  3. ; Usage:
  4. ;      (hanoi <n>)
  5. ;          <n> - an integer the number of discs
  6.  
  7. (defun hanoi(n)
  8.   ( transfer 'A 'B 'C n ))
  9.  
  10. (defun print-move ( from to )
  11.   (princ "Move Disk From ")
  12.   (princ from)
  13.   (princ " To ")
  14.   (princ to)
  15.   (princ "\n"))
  16.  
  17.  
  18. (defun transfer ( from to via n )
  19.   (cond ((equal n 1) (print-move from to ))
  20.     (t (transfer from via to (- n 1))
  21.        (print-move from to)
  22.        (transfer via to from (- n 1)))))
  23.  
  24.  
  25.